package com.chaodev.base.service;

import com.github.pagehelper.PageInfo;
import com.chaodev.base.model.DataPageVO;
import com.chaodev.base.dto.UserQueryDTO;
import com.chaodev.base.model.User;
import com.chaodev.base.model.UserInfo;
import com.chaodev.base.model.UserRoleDepart;

import java.util.List;
import java.util.Map;

public interface IUserService {

    UserInfo getUserMessNew(Map<String, Object> map);
    PageInfo<UserQueryDTO> userQuery(DataPageVO map);

    PageInfo<UserQueryDTO> userQueryByDId(DataPageVO map);

    PageInfo<UserRoleDepart> userRoleTableList(DataPageVO map);

    boolean userRoleAdd(UserRoleDepart userRoleDepart);

    boolean changeRoleType(UserRoleDepart userRoleDepart);

    boolean userRoleDelete(UserRoleDepart userRoleDepart);

    boolean userAdd(User user);

    boolean modifySkin(Map<String, Object> map);

    boolean userDelete(User user);

     int ValidUserOldPwd(Map<String, Object> map);

    boolean userStop(User user);

    boolean userPwdUpdate(Map<String, Object> map);

    boolean userJieSuo(Map<String, Object> map);

    int ValidUserDepartRole(Map<String,Object> map);

    List<UserInfo> UserRoleChange(Map<String,Object> map);

    boolean updatePassword(Map<String,Object> map);

    /**
     * 根据部门树获取用户信息
     * @param departId
     * @return
     */
    List<Map<String, Object>> getUsersByDepartTree(String departId);

    /**
     * 根据角色分类获取所有用户信息
     * @return
     */
    List<Map<String, Object>> getUsersByRole();
}
